Apache POI লাইব্রেরি ব্যবহার করে Microsoft Word ডকুমেন্টের Advanced Metadata হ্যান্ডলিং করা সম্ভব। Metadata হলো এমন ডেটা যা ডকুমেন্টের সম্পর্কে অতিরিক্ত তথ্য প্রদান করে, যেমন লেখক, শিরোনাম, বিষয়বস্তু, কিওয়ার্ড, তৈরির তারিখ ইত্যাদি। ডকুমেন্টের metadata মূলত ডকুমেন্টের properties বা বৈশিষ্ট্য হিসেবে পরিচিত, এবং এগুলি ডকুমেন্টের সার্বিক তথ্য পরিচালনায় গুরুত্বপূর্ণ ভূমিকা পালন করে।
এখানে Advanced Metadata হ্যান্ডলিং এর কিছু কৌশল এবং প্র্যাকটিস দেওয়া হলো, যা Apache POI এর মাধ্যমে Word ডকুমেন্টে metadata পরিচালনা করতে সাহায্য করবে।
ডকুমেন্টের metadata এক্সেস করতে XWPFDocument ক্লাসের getProperties() মেথড ব্যবহার করা যায়। এটি ডকুমেন্টের প্রোপার্টিজ রিটার্ন করে, যেমন লেখক, শিরোনাম, বিষয় ইত্যাদি।
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFProperties;
import java.io.*;
public class MetadataExample {
public static void main(String[] args) {
try {
// ডকুমেন্ট খোলা
FileInputStream fis = new FileInputStream("example.docx");
XWPFDocument document = new XWPFDocument(fis);
// ডকুমেন্ট প্রোপার্টিজ এক্সেস করা
XWPFProperties properties = document.getProperties();
// প্রোপার্টি থেকে লেখক এবং শিরোনাম এক্সেস করা
String author = properties.getCoreProperties().getCreator();
String title = properties.getCoreProperties().getTitle();
System.out.println("Author: " + author);
System.out.println("Title: " + title);
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
ডকুমেন্টে new metadata যোগ করতে XWPFProperties ব্যবহার করা হয়। আপনি setCreator(), setTitle(), setSubject() ইত্যাদি পদ্ধতি ব্যবহার করে metadata আপডেট করতে পারবেন।
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFProperties;
import java.io.*;
public class SetMetadataExample {
public static void main(String[] args) {
try {
// নতুন ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// ডকুমেন্ট প্রোপার্টিজ সেট করা
XWPFProperties properties = document.getProperties();
properties.getCoreProperties().setCreator("John Doe");
properties.getCoreProperties().setTitle("Apache POI Metadata Example");
properties.getCoreProperties().setSubject("Metadata Handling in Word Documents");
// ডকুমেন্ট সেভ করা
FileOutputStream fos = new FileOutputStream("SetMetadataExample.docx");
document.write(fos);
fos.close();
System.out.println("Metadata successfully added!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Apache POI কাস্টম মেটাডেটা সেট করার জন্য ExtendedProperties এবং CustomProperties ব্যবহার করার সুযোগ দেয়। আপনি ডকুমেন্টে অতিরিক্ত কাস্টম তথ্য রাখতে পারেন, যা ডকুমেন্টের প্রোপার্টি অংশে থাকবে।
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFCustomProperties;
import java.io.*;
public class CustomMetadataExample {
public static void main(String[] args) {
try {
// নতুন ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// কাস্টম প্রোপার্টি যোগ করা
XWPFCustomProperties customProperties = document.getProperties().getCustomProperties();
customProperties.addProperty("Project", "Apache POI");
customProperties.addProperty("Version", "1.0");
// ডকুমেন্ট সেভ করা
FileOutputStream fos = new FileOutputStream("CustomMetadataExample.docx");
document.write(fos);
fos.close();
System.out.println("Custom metadata added successfully!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Apache POI এর মাধ্যমে আপনি ডকুমেন্টের metadata খুঁজে বের করতে এবং আপডেট করতে পারেন। আপনার প্রয়োজনে এই metadata অনুসারে ডকুমেন্টের বৈশিষ্ট্য বা তথ্য পরিবর্তন করা যেতে পারে।
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFProperties;
import java.io.*;
public class MetadataUpdateExample {
public static void main(String[] args) {
try {
// ডকুমেন্ট খোলা
FileInputStream fis = new FileInputStream("example.docx");
XWPFDocument document = new XWPFDocument(fis);
// প্রোপার্টি এক্সেস করা
XWPFProperties properties = document.getProperties();
// লেখক এবং শিরোনাম আপডেট করা
properties.getCoreProperties().setCreator("Jane Smith");
properties.getCoreProperties().setTitle("Updated Metadata Example");
// ডকুমেন্ট সেভ করা
FileOutputStream fos = new FileOutputStream("UpdatedMetadataExample.docx");
document.write(fos);
fos.close();
fis.close();
System.out.println("Metadata updated successfully!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
আপনি Apache POI এর মাধ্যমে ডকুমেন্টের মধ্যে advanced metadata অনুসন্ধান করতে পারেন। উদাহরণস্বরূপ, আপনি ডকুমেন্টের লেখক বা শিরোনামের ভিত্তিতে ডকুমেন্ট ফিল্টার করতে পারেন।
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFProperties;
import java.io.*;
public class AdvancedMetadataSearch {
public static void main(String[] args) {
try {
// ডকুমেন্ট খোলা
FileInputStream fis = new FileInputStream("example.docx");
XWPFDocument document = new XWPFDocument(fis);
// প্রোপার্টি এক্সেস করা
XWPFProperties properties = document.getProperties();
// লেখক অনুসন্ধান
String author = properties.getCoreProperties().getCreator();
if ("John Doe".equals(author)) {
System.out.println("Found document authored by John Doe");
}
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Apache POI লাইব্রেরি ব্যবহার করে Microsoft Word ডকুমেন্টে Advanced Metadata হ্যান্ডলিং অত্যন্ত কার্যকরী এবং সহজ। আপনি metadata এক্সেস, সেটিং, কাস্টম প্রোপার্টি যোগ করা, আপডেট করা এবং অনুসন্ধান করতে পারেন। এই প্রযুক্তি ব্যবহার করে ডকুমেন্টের অতিরিক্ত তথ্য পরিচালনা এবং সঠিকভাবে উপস্থাপন করা সম্ভব হয়, যা ডকুমেন্টের ব্যবহারের কার্যকারিতা বাড়ায়।
common.read_more